
package com.xtsoft.platform.base.system.repository;
/*
*    上海信拓信息技术有限公司 Koala企业综合信息管理系统
*    Copyright (C) 2010-2015 ShangHai XinTuo Software Inc.
*/


import com.xtsoft.core.repository.GenericRepository;
import com.xtsoft.platform.base.system.domain.SysRole;
import org.springframework.stereotype.Repository;

import java.util.Collection;
import java.util.List;

@Repository
public interface SysRoleRepository extends GenericRepository<SysRole,String> {

	/**
	 * 
	 * <p> 根据别名查找角色集合  </p>  
	 * @param alias
	 * @return
	 * @return List<SysRole>
	 * @throws  
	 * @author defencez  
	 * @date 2020年5月8日 
	 * @time 下午2:22:01
	 */
	public List<SysRole> findByAlias(String alias);
	/**
	 * 
	 * <p> 根据状态查找角色集合  </p>  
	 * @param state
	 * @return
	 * @return Optional<List<SysRole>>
	 * @throws  
	 * @author defencez  
	 * @date 2020年5月8日 
	 * @time 下午2:23:55
	 */
	public List<SysRole> findByState(Integer state);	
	/**
	 * 
	 * <p> 根据角色别名、状态查找角色  </p>  
	 * @param alias
	 * @param state
	 * @return
	 * @return List<SysRole>
	 * @throws  
	 * @author defencez  
	 * @date 2020年5月9日 
	 * @time 上午8:28:41
	 */
	public List<SysRole> findByAliasAndState(String alias, Integer state);
	/**
	 * 
	 * <p> 根据角色别名模糊、状态精准查找角色  </p>  
	 * @param alias
	 * @param state
	 * @return
	 * @return List<SysRole>
	 * @throws  
	 * @author defencez  
	 * @date 2020年5月9日 
	 * @time 上午8:29:54
	 */
	public List<SysRole> findByAliasLikeAndState(String alias,Integer state);
	/**
	 * 
	 * <p> 根据角色ID集合、状态获取角色集合  </p>  
	 * @param roleIds
	 * @param state
	 * @return
	 * @return List<SysRole>
	 * @throws  
	 * @author defencez  
	 * @date 2020年5月9日 
	 * @time 下午1:09:30
	 */
	public List<SysRole> findByRoleIdInAndState(Collection<String> roleIds, Integer state);
}